home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Resource Library: Multimedia
/
Resource Library: Multimedia.iso
/
hypercrd
/
xcmds
/
dvlprstc.hqx
/
Developer Stack 1.3r
/
card_45653.txt
< prev
next >
Wrap
Text File
|
1991-04-30
|
2KB
|
65 lines
-- card: 45653 from stack: in.3r
-- bmap block id: 0
-- flags: 0000
-- background id: 2202
-- name: convertDate
-- part contents for background part 10
----- text -----
15
-- part contents for background part 19
----- text -----
Functions
-- part contents for background part 3
----- text -----
convertDate
-- part contents for background part 2
----- text -----
--This is a general function to convert date formats from
--standard HyperCard format: m/d/yy (m or d can have 1 or 2 digits)
--to TPS/IBM format: yymmdd
--Returns "format error" if format is not correct
--examples:
--convertdate(the date) gives 880528 (if today's date is 5/28/88)
--convertdate("12/1/88") gives 881201
--convertdate(5/3/88) doesn't work because HyperCard evaluates the
--expression (2 divisions) before passing the argument to the function.
--however, put the date into Y followed by convertdate(Y) does work
--(apparently HC uses a special hidden marker for dates?)
--From:
--Peter Sylvan
--65 Valley Road
--Milton, MA 02186
--
--I would like to thank Peter for sending in this contribution to the Developer Stack. [Steve].
function convertdate x -- input format m/d/yy, output format yymmdd
convert x to date -- adjust date to real calendar if necessary
if char 3 of x is "/" then -- two digits in the input m
put char 1 to 2 of x into mm
put empty into char 1 to 3 of x
else if char 2 of x is "/" then -- only one digit in the input m
put "0" & char 1 of x into mm
put empty into char 1 to 2 of x
else
return "format error" -- perhaps should return empty?
end if
if char 3 of x is "/" then
put char 1 to 2 of x into dd
put empty into char 1 to 3 of x
else if char 2 of x is "/" then
put "0" & char 1 of x into dd
put empty into char 1 to 2 of x
else
return "format error"
end if
return x & mm & dd
end cdate